package com.my.study.designPatterns.statePattern;

public class SoldState extends State {


    private GumballMachine gumballMachine;

    public SoldState(GumballMachine gumballMachine) {
        this.gumballMachine = gumballMachine;
    }

    @Override
    public void insertQuarter() {

        System.out.println("Please wait, we're already giving you a gumball");
    }

    @Override
    public void rejectQuarter() {

        System.out.println("Sorry, you alread turned the crank");
    }

    @Override
    public void turnCrank() {

        System.out.println("Turning twice doesn't get you another gumball");
    }

    @Override
    public void dispense() {

        gumballMachine.releaseBall();
        if(gumballMachine.getCount() > 0){
            gumballMachine.setState(gumballMachine.getNoQuarterState());
        }else{
            System.out.println("Oops, out of gumballs!");
            gumballMachine.setState(gumballMachine.getSoldOutState());
        }
    }
}
